package com.bysj.agent.feign;

/**
 * Token管理服务
 * 用于在不同线程和组件间传递Token
 */
public class TokenService {
    
    // 使用ThreadLocal存储当前线程的token
    private static final ThreadLocal<String> TOKEN_THREAD_LOCAL = new ThreadLocal<>();
    
    /**
     * 设置当前线程的token
     * @param token 要存储的token
     */
    public static void setToken(String token) {
        TOKEN_THREAD_LOCAL.set(token);
    }
    
    /**
     * 获取当前线程的token
     * @return 当前线程存储的token
     */
    public static String getToken() {
        return TOKEN_THREAD_LOCAL.get();
    }
    
    /**
     * 清除当前线程的token
     * 防止内存泄漏，在请求完成后应调用此方法
     */
    public static void clearToken() {
        TOKEN_THREAD_LOCAL.remove();
    }
} 